/* * Service class * Created on 17 d�c. 2012 ( Time 15:40:01 ) */ package org.demo.workgroup.service; import java.util.List; import org.demo.workgroup.bean.Workgroup; import org.demo.workgroup.dao.JpaWorkgroupDAO; import org.telosys.starterkits.strutsjpa.EntityManagerHelper; import org.telosys.starterkits.strutsjpa.IServices; import javax.persistence.PersistenceException; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; public class WorkgroupServices implements IServices<Workgroup, Short> { protected final Logger LOG = LoggerFactory.getLogger(WorkgroupServices.class); public Workgroup load(final Short id) { if (LOG.isDebugEnabled()) LOG.debug("load"); Workgroup workgroup; try { EntityManagerHelper.beginTransaction(); JpaWorkgroupDAO workgroupDAO = new JpaWorkgroupDAO(); workgroup = workgroupDAO.findById(id); EntityManagerHelper.commitAndCloseEntityManager(); } catch (PersistenceException ex) { LOG.error("Error", ex); throw ex; } finally { if (EntityManagerHelper.isCloseEntityManager() == false) EntityManagerHelper.rollback(); } return workgroup ; } public Workgroup save(final Workgroup entity) { if (LOG.isDebugEnabled()) LOG.debug("save"); Workgroup entityNew; try { EntityManagerHelper.beginTransaction(); JpaWorkgroupDAO workgroupDAO = new JpaWorkgroupDAO(); entityNew = workgroupDAO.update(entity); EntityManagerHelper.commitAndCloseEntityManager(); } catch (PersistenceException ex) { LOG.error("Error", ex); throw ex; } finally { if (EntityManagerHelper.isCloseEntityManager() == false) EntityManagerHelper.rollback(); } return entityNew; } public void delete(final Short id) { if (LOG.isDebugEnabled()) LOG.debug("delete"); try { EntityManagerHelper.beginTransaction(); JpaWorkgroupDAO workgroupDAO = new JpaWorkgroupDAO(); workgroupDAO.delete(id); EntityManagerHelper.commitAndCloseEntityManager(); } catch (PersistenceException ex) { LOG.error("Error", ex); throw ex; } finally { if (EntityManagerHelper.isCloseEntityManager() == false) EntityManagerHelper.rollback(); } } public List<Workgroup> search(final Workgroup workgroup) { if (LOG.isDebugEnabled()) LOG.debug("search"); List<Workgroup> liste; try { EntityManagerHelper.beginTransaction(); JpaWorkgroupDAO workgroupDAO = new JpaWorkgroupDAO(); liste = workgroupDAO.search(workgroup); EntityManagerHelper.commitAndCloseEntityManager(); } catch (PersistenceException ex) { LOG.error("Error", ex); throw ex; } finally { if (EntityManagerHelper.isCloseEntityManager() == false) EntityManagerHelper.rollback(); } return liste; } }